package com.lpf.example.example02.server;

import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.SimpleChannelInboundHandler;

import java.time.LocalDateTime;

public class MyServerHandler extends SimpleChannelInboundHandler<String> {

    @Override
    protected void channelRead0(ChannelHandlerContext ctx, String msg) throws Exception {

        // 打印客户端地址
        System.out.println(ctx.channel().remoteAddress());

        // 服务器端接收到的数据
        System.out.println("server output:" + msg);

        // 返回给客户端的数据
        //ctx.writeAndFlush("from server:" + LocalDateTime.now());
        ctx.channel().writeAndFlush("from server:" + LocalDateTime.now());
    }

    /**
     * 出现异常时调用此方法。
     */
    @Override
    public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception {
        cause.printStackTrace();

        // 出现异常时一般会把连接关闭掉
        ctx.close();
    }
}